package com.oneday.ashop.core.entity;

import lombok.Data;
import org.springframework.data.annotation.Transient;
import org.springframework.data.mongodb.core.mapping.Document;

import java.util.Date;
import java.util.List;

/**
 * 资源表
 * User:bob.yang
 * Date 2015/7/20 0020
 */
@Document(collection = "Resource")
@Data
public class Resource extends IncIdEntity<Integer> {
    /**
     * 状态 - 正常
     */
    public static final Integer STATUS_NORMAL = 1;
    /**
     * 状态 - 删除
     */
    public static final Integer STATUS_DELETE = 2;
    /**
     * 资源类型 -  页面
     */
    public static final Integer TYPE_PAGE = 1;
    /**
     * 资源类型 - 按钮
     */
    public static final Integer TYPE_BUTTON = 2;
    /**
     * 资源类型 - 通用接口(此类型的接口权限限制)
     */
    public static final Integer TYPE_JSON = 3;
    /**
     * 资源级别
     */
    private Integer level;
    /**
     * 资源类型
     */
    private Integer type;
    /**
     * 上级资源 {@link com.oneday.ashop.core.entity.Resource#id}
     */
    private Integer parentId;
    /**
     * 状态
     */
    private Integer status;
    /**
     * 资源名称
     */
    private String name;
    /**
     * 请求路径
     */
    private String url;
    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 创建人id
     */
    private Integer adminId;
    /**
     * 创建人姓名
     */
    private String adminName;
    /**
     * 最后一次修改的时间
     */
    private Date lastModifyTime;
    /**
     *拥有的子资源，不存入数据库
     */
    @Transient
    private List<Resource> childRes;
    /**
     * 父级资源名称
     */
    @Transient
    private String parentName;
    /**
     * 是否拥有此元素
     */
    @Transient
    private boolean checked;

}
